repo: Use non-deprecated API with sufficiently new libarchive
authorColin Walters <walters@verbum.org>
Fri, 30 Aug 2013 08:50:29 +0000 (10:50 +0200)
committerColin Walters <walters@verbum.org>
Fri, 30 Aug 2013 18:34:32 +0000 (14:34 -0400)
Based on a patch Tobias Hunger <tobias.hunger@gmail.com>

configure.ac
src/libostree/ostree-repo-libarchive.c

index cd0d065782f3a6aa71659d1dc8eabc332d1f0633..74df7b4acc1db5d156c7d3c1ac8713c30778110e 100644 (file)
@@ -100,6 +100,10 @@ AS_IF([ test x$with_libarchive != xno ], [
     AS_IF([ test x$have_libarchive = xyes], [
         AC_DEFINE(HAVE_LIBARCHIVE, 1, [Define if we have libarchive.pc])
        PKG_CHECK_MODULES(OT_DEP_LIBARCHIVE, $LIBARCHIVE_DEPENDENCY)
+        save_LIBS=$LIBS
+        LIBS=$OT_DEP_LIBARCHIVE_LIBS
+        AC_CHECK_FUNCS(archive_read_support_filter_all)
+        LIBS=$save_LIBS
        with_libarchive=yes
     ], [
        with_libarchive=no
index e06092a44a70a8eb05a73f983023e9eede3d9e68..7c0348e97213c0d63259a283a819995e70b566fd 100644 (file)
@@ -305,7 +305,11 @@ ostree_repo_stage_archive_to_mtree (OstreeRepo                *self,
   gs_free guchar *tmp_csum = NULL;
 
   a = archive_read_new ();
+#ifdef HAVE_ARCHIVE_READ_SUPPORT_FILTER_ALL
+  archive_read_support_filter_all (a);
+#else
   archive_read_support_compression_all (a);
+#endif
   archive_read_support_format_all (a);
   if (archive_read_open_filename (a, gs_file_get_path_cached (archive_f), 8192) != ARCHIVE_OK)
     {